package sv.gob.mh.dgii.model;

// Generated Dec 10, 2007 4:52:21 PM by Hibernate Tools 3.2.0.beta7

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DfNombramiento generated by hbm2java
 */
@Entity
@Table(name = "DF_NOMBRAMIENTO", schema = "DICTAMEN", uniqueConstraints = {})
@SequenceGenerator(name="SEQ_DF_NOMBRAMIENTO" , sequenceName="SEQ_DF_NOMBRAMIENTO")
public class DfNombramiento implements java.io.Serializable {

	// Fields    

	/**
	 * 
	 */
	private static final long serialVersionUID = -5146311951386096772L;

	private Long icorrelativo;

	private Long icorrelativoAnt;
	
	private DfEstadoDicta dfEstadoDicta;

	private DfDictaminadorAut dfDictaminadorAut;

	private RcRuc rcRucByNit;

	private String ndocumento;

	

	private String cusuario;

	private Date fhingreso;

	private Date fhfnombramiento;

	private String cusuarioFinNomb;

	private Date fpinicio;

	private Date fpfin;

	private Date fcontratacion;

	private Date faceptaContra;

	private Long nacta;

	private Date facta;

	private Date fpresentacion;

	private String cunidad;

	private String snotas;

	private String cnombramiento;

	private Integer bextemporanea;
	
	private Integer bextemporaneaInf;

	private Set<DfDictaNombra> dfDictaNombras = new HashSet<DfDictaNombra>(0);

	private Set<DfObligNombra> dfObligNombras = new HashSet<DfObligNombra>(0);
	
	private Long nautmined;
	
	private Date fautmined;
	
	private Long nautdgii;

	private String dnorlegal;	

	private Long ncvca;

	// Constructors

	/** default constructor */
	public DfNombramiento() {
		this.icorrelativo = null;
		this.icorrelativoAnt = null;
	}

	/** minimal constructor */
	public DfNombramiento(Long icorrelativo, DfEstadoDicta dfEstadoDicta,
			RcRuc rcRuc, String cusuario, Date fhingreso, Date fpinicio,
			Date fpfin, Date fpresentacion, String cunidad, String cnombramiento) {
		this.icorrelativo = icorrelativo;
		this.dfEstadoDicta = dfEstadoDicta;
		this.rcRucByNit = rcRuc;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fpinicio = fpinicio;
		this.fpfin = fpfin;
		this.fpresentacion = fpresentacion;
		this.cunidad = cunidad;
		this.cnombramiento = cnombramiento;
	}

	/** full constructor */
	public DfNombramiento(Long icorrelativo, DfEstadoDicta dfEstadoDicta,
			DfDictaminadorAut dfDictaminadorAut, RcRuc rcRuc,
			String ndocumento,   String cusuario,
			Date fhingreso, Date fhfnombramiento, String cusuarioFinNomb,
			Date fpinicio, Date fpfin, Date fcontratacion, Date faceptaContra,
			Long nacta, Date facta, Date fpresentacion, String cunidad,
			String snotas, String cnombramiento, Integer bextemporanea,
			Long nautmined,	Date fautmined, Long nautdgii, String dnorlegal, Long ncvca,
			Set<DfDictaNombra> dfDictaNombras, Set<DfObligNombra> dfObligNombras) {
		this.icorrelativo = icorrelativo;
		this.dfEstadoDicta = dfEstadoDicta;
		this.dfDictaminadorAut = dfDictaminadorAut;
		this.rcRucByNit = rcRuc;
		this.ndocumento = ndocumento;
		 
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhfnombramiento = fhfnombramiento;
		this.cusuarioFinNomb = cusuarioFinNomb;
		this.fpinicio = fpinicio;
		this.fpfin = fpfin;
		this.fcontratacion = fcontratacion;
		this.faceptaContra = faceptaContra;
		this.nacta = nacta;
		this.facta = facta;
		this.fpresentacion = fpresentacion;
		this.cunidad = cunidad;
		this.snotas = snotas;
		this.cnombramiento = cnombramiento;
		this.bextemporanea = bextemporanea;
		this.dfDictaNombras = dfDictaNombras;
		this.dfObligNombras = dfObligNombras;
		this.nautmined = nautmined;
		this.fautmined = fautmined;
		this.nautdgii = nautdgii;
		this.dnorlegal = dnorlegal;	
		this.ncvca = ncvca;
	}

	// Property accessors
	@Id
	@Column(name = "I_CORRELATIVO", unique = true, nullable = false, insertable = true, updatable = false, precision = 10, scale = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_DF_NOMBRAMIENTO")
	public Long getIcorrelativo() {
		return this.icorrelativo;
	}

	public void setIcorrelativo(Long icorrelativo) {
		this.icorrelativo = icorrelativo;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_ESTADO", unique = false, nullable = false, insertable = true, updatable = true)
	public DfEstadoDicta getDfEstadoDicta() {
		return this.dfEstadoDicta;
	}

	public void setDfEstadoDicta(DfEstadoDicta dfEstadoDicta) {
		this.dfEstadoDicta = dfEstadoDicta;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_DICTA_AUT", unique = false, nullable = true, insertable = true, updatable = true)
	public DfDictaminadorAut getDfDictaminadorAut() {
		return this.dfDictaminadorAut;
	}

	public void setDfDictaminadorAut(DfDictaminadorAut dfDictaminadorAut) {
		this.dfDictaminadorAut = dfDictaminadorAut;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "NIT", unique = false, nullable = false, insertable = true, updatable = true)
	public RcRuc getRcRucByNit() {
		return this.rcRucByNit;
	}

	public void setRcRucByNit(RcRuc rcRuc) {
		this.rcRucByNit = rcRuc;
	}

	@Column(name = "N_DOCUMENTO", unique = false, nullable = true, insertable = true, updatable = true, length = 12)
	public String getNdocumento() {
		return this.ndocumento;
	}

	public void setNdocumento(String ndocumento) {
		this.ndocumento = ndocumento;
	}

	 

	@Column(name = "C_USUARIO", unique = false, nullable = false, insertable = true, updatable = true, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FHF_NOMBRAMIENTO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFhfnombramiento() {
		return this.fhfnombramiento;
	}

	public void setFhfnombramiento(Date fhfnombramiento) {
		this.fhfnombramiento = fhfnombramiento;
	}

	@Column(name = "C_USUARIO_FIN_NOMB", unique = false, nullable = true, insertable = true, updatable = true, length = 30)
	public String getCusuarioFinNomb() {
		return this.cusuarioFinNomb;
	}

	public void setCusuarioFinNomb(String cusuarioFinNomb) {
		this.cusuarioFinNomb = cusuarioFinNomb;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_INICIO", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFpinicio() {
		return this.fpinicio;
	}

	public void setFpinicio(Date fpinicio) {
		this.fpinicio = fpinicio;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_FIN", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFpfin() {
		return this.fpfin;
	}

	public void setFpfin(Date fpfin) {
		this.fpfin = fpfin;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_CONTRATACION", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFcontratacion() {
		return this.fcontratacion;
	}

	public void setFcontratacion(Date fcontratacion) {
		this.fcontratacion = fcontratacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_ACEPTA_CONTRA", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFaceptaContra() {
		return this.faceptaContra;
	}

	public void setFaceptaContra(Date faceptaContra) {
		this.faceptaContra = faceptaContra;
	}

	@Column(name = "N_ACTA", unique = false, nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getNacta() {
		return this.nacta;
	}

	public void setNacta(Long nacta) {
		this.nacta = nacta;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_ACTA", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFacta() {
		return this.facta;
	}

	public void setFacta(Date facta) {
		this.facta = facta;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_PRESENTACION", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFpresentacion() {
		return this.fpresentacion;
	}

	public void setFpresentacion(Date fpresentacion) {
		this.fpresentacion = fpresentacion;
	}

	@Column(name = "C_UNIDAD", unique = false, nullable = false, insertable = true, updatable = true, length = 5)
	public String getCunidad() {
		return this.cunidad;
	}

	public void setCunidad(String cunidad) {
		this.cunidad = cunidad;
	}

	@Column(name = "S_NOTAS", unique = false, nullable = true, insertable = true, updatable = true)
	public String getSnotas() {
		return this.snotas;
	}

	public void setSnotas(String snotas) {
		this.snotas = snotas;
	}

	@Column(name = "C_NOMBRAMIENTO", unique = false, nullable = false, insertable = true, updatable = true, length = 1)
	public String getCnombramiento() {
		return this.cnombramiento;
	}

	public void setCnombramiento(String cnombramiento) {
		this.cnombramiento = cnombramiento;
	}

	@Column(name = "B_EXTEMPORANEA", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBextemporanea() {
		return this.bextemporanea;
	}

	public void setBextemporanea(Integer bextemporanea) {
		this.bextemporanea = bextemporanea;
	}
	
	@Column(name = "I_CORRELATIVO_ANT", unique = false,  nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)	
	public Long getIcorrelativoAnt() {
		return icorrelativoAnt;
	}

	public void setIcorrelativoAnt(Long icorrelativoAnt) {
		this.icorrelativoAnt = icorrelativoAnt;
	}

	@OneToMany( fetch = FetchType.LAZY, mappedBy = "dfNombramiento")
	public Set<DfDictaNombra> getDfDictaNombras() {
		return this.dfDictaNombras;
	}

	public void setDfDictaNombras(Set<DfDictaNombra> dfDictaNombras) {
		this.dfDictaNombras = dfDictaNombras;
	}

	@OneToMany( fetch = FetchType.LAZY, mappedBy = "dfNombramiento")
	public Set<DfObligNombra> getDfObligNombras() {
		return this.dfObligNombras;
	}

	public void setDfObligNombras(Set<DfObligNombra> dfObligNombras) {
		this.dfObligNombras = dfObligNombras;
	}

	/**
	 * @return the bextemporaneaInf
	 */
	@Column(name = "B_EXTEMPORANEA_INF", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBextemporaneaInf() {
		return bextemporaneaInf;
	}

	/**
	 * @param bextemporaneaInf the bextemporaneaInf to set
	 */
	public void setBextemporaneaInf(Integer bextemporaneaInf) {
		this.bextemporaneaInf = bextemporaneaInf;
	}

	@Column(name = "N_AUT_MINED", unique = false, nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getNautmined() {
		return this.nautmined;
	}

	public void setNautmined(Long nautmined) {
		this.nautmined = nautmined;
	}	

	@Temporal(TemporalType.DATE)
	@Column(name = "F_AUT_MINED", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFautmined() {
		return this.fautmined;
	}

	public void setFautmined(Date fautmined) {
		this.fautmined = fautmined;
	}
	
	@Column(name = "N_AUT_DGII", unique = false, nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getNautdgii() {
		return this.nautdgii;
	}

	public void setNautdgii(Long nautdgii) {
		this.nautdgii = nautdgii;
	}	
	
	@Column(name = "D_NOR_LEGAL", unique = false, nullable = true, insertable = true, updatable = true)
	public String getDnorlegal() {
		return this.dnorlegal;
	}
	public void setDnorlegal(String dnorlegal) {
		this.dnorlegal = dnorlegal;
	}

	@Column(name = "N_CVCA", unique = false, nullable = true, insertable = true, updatable = true, precision = 5, scale = 0)
	public Long getNcvca() {
		return this.ncvca;
	}

	public void setNcvca(Long ncvca) {
		this.ncvca = ncvca;
	}	
	
}
